Robotic devices

ABSTRACT

By moving supports A and C along respective tracks ( 3 ) and ( 4 ), the free end B of robot arm ( 2 ), with gripper ( 5 ), is caused to move along a path P, the locus of which may be varied by varying the movements of the supports A and C. Motors ( 6 ) and ( 7 ) are not carried on the robot arm ( 2 ), but are secured to the frame ( 10 ) of the device ( 1 ). The robot arm ( 2 ) may thus have very low mass, resulting in very high performance in terms of speed and efficiency. The path P may comprise a NURB curve, and the time-distance function of motion of end B of arm ( 2 ) along path P may comprise a polynomial function having first and second derivative (velocity and acceleration) continuous curves.

This invention relates to robotic devices.

Preferred embodiments of the invention aim to provide robotic deviceswhich are simple and cheap to make, but may nevertheless operate at highspeed and efficiency.

According to one aspect of the present invention, there is provided arobotic device comprising:

-   -   a. a first track extending between first and second end points;    -   b. a second track, non-parallel to the first track, extending        between third and fourth end points;    -   c. a first support mounted for movement along said first track        between said first and second end points;    -   d. a second support mounted for movement along said second track        between said third and fourth end points;    -   e. drive means for driving said first and second supports along        their respective tracks between their respective end points such        that movement of each of said supports may be independent of the        movement of the other; and    -   f. a robot arm pivotally mounted on said first support at a        first location on said arm, such that said arm may pivot with        respect to said first support, and pivotally mounted on said        second support at a second location on said arm, spaced from        said first location, such that said arm may pivot with respect        to said second support, and such that said arm can slide with        respect to one of said first and second supports, whereby        movement of said supports along said tracks causes movement of        said robot arm.

Preferably, said tracks lie in a common plane, and said arm is arrangedto move in said common plane or a plane parallel to said common plane.

Preferably, at least one of said tracks is rectilinear.

Preferably, both of said tracks are rectilinear.

Preferably, said tracks are mutually orthogonal.

Preferably, said drive means comprises a first drive means for drivingsaid first support and a second drive means, separate from the firstdrive means, for driving said second support.

Preferably, each said drive means comprises a prime mover mounted on aframe of the device and connected to each respective support by a drivetransmission means.

Preferably, the robot arm is rectilinear.

Preferably, said first location is at a first end of the robot arm andsaid second location is intermediate the ends of the robot arm.

Preferably, said arm can slide with respect to only the second of saidfirst and second supports.

Preferably, a robotic device as above further comprises gripping meansat a third location on said robot arm.

Preferably, said third location is at a free end of the robot arm.

Preferably, a robotic device as above further comprises control meansfor controlling said drive means.

Preferably, said control means is programmable, to control said drivemeans to cause said robot arm to follow a predetermined path.

Said control means may be programmed to control said drive means tocause said robot arm to follow a predetermined path composed of a seriesof straight lines.

Said control means may be programmed to control said drive means tocause said robot arm to follow a predetermined path composed of a seriesof straight lines and circular arcs.

Preferably, said control means is programmed to control said drive meansto cause said robot arm to follow a predetermined path comprising acurve defined by a function of spatial co-ordinates that is continuousin both its first and second derivatives.

Preferably, said function is continuous in its third derivative.

Preferably, said curve comprises a NURB (non-uniform rational B-spline)curve.

Preferably, said control means is arranged to control said drive meanssuch that the time-distance function of motion along said path comprisesa polynomial function having a first derivative (velocity) continuouscurve.

Preferably, said control means is arranged to control said drive meanssuch that the time-distance function of motion along said path comprisesa polynomial function having a second derivative (acceleration)continuous curve.

Preferably, said control means is arranged to control said drive meanssuch that the time-distance function of motion along said path comprisesa polynomial function having a third derivative (jerk) continuous curve.

In another aspect, the invention provides a method of operating arobotic device according to any of the preceding aspects of theinvention, the method comprising the steps of:

calculating a path along which the robot arm is to travel; and

constraining the robot arm to travel along said path.

Preferably, such a method includes the steps of displaying a curve on ascreen, and modifying the shape of the curve to define said path.

Preferably, said modifying step is effected by moving with a“click-and-drag” mouse movement control points that are spaced from saidcurve and the positions of which affect the shape of said curve.

Preferably, such a method includes the step of also displaying on thescreen a plan of an area or volume in which said path is to be located,and upon which plan said path is superimposed.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, and to show how embodimentsof the same may be carried into effect, reference will now be made, byway of example, to the accompanying diagrammatic drawing, in which:

FIG. 1 illustrates one example of a robotic device embodying the presentinvention; and

FIG. 2 illustrates a method of control for a robotic device.

DETAILED DESCRIPTION OF THE INVENTION

The robotic device 1 illustrated in FIG. 1 comprises a robot arm 2 whichis pivotally mounted on first and second supports A and C, which in turnare mounted for sliding movement along first and second tracks 3 and 4respectively.

The first track 3 is rectilinear and extends between end points Y1 andY2. The second track 4 is also rectilinear and extends orthogonally tothe first track 3, in the same plane, between respective end points X1and X2. The robot arm 2 is pivotally mounted on the first support A at afirst end of the arm 2, and pivotally mounted on the second support C ata point between the ends of the arm 2. The mounting of the arm 2 on thesecond support C also affords mutual sliding between the arm 2 and thesupport C. At its free end B, the robot arm 2 carries a gripper 5,arranged to hold and release parts to be carried by the robotic device1.

Each of the supports A and C is mounted for sliding movement along itsrespective track 3 and 4, and is driven by a respective motor 6 and 7,from which drive is transmitted by means of a respective toothed belt 8and 9. The motors 6 and 7 are mounted on a frame 10 of the roboticdevice 1. A programmable controller 11 controls operation of the motors6 and 7.

It will be appreciated that, by moving the supports A and C along theirrespective tracks 3 and 4, the free end B of the robot arm 2, with thegripper 5, is caused to move along a path P, the locus of which may bevaried by varying the movements of the supports A and C. In many roboticapplications, it is desired simply to pick up an item from onepredetermined location and transfer it to another predeterminedlocation. The illustrated robotic device 1 is particularly suitable forsuch simple “pick and place” operations, especially when carried out asa two-dimensional operation, where the two tracks 3 and 4 liesubstantially in the same plane, together with the robot arm 2 (whichmay, from a practical point of view, be in a relatively closely spaced,parallel plane).

The controller 11 may be programmed very simply by way of Cartesiancoordinates to cause the supports A and C to be moved sequentially alongy and x axes respectively, such that the free end B of the robot arm 2moves in a series of substantially straight lines. If one of thesupports A and C is accelerated from rest as the other of the supportsis being decelerated to rest, then the straight line portions of thepath P may be joined by curves, for smooth and efficient operation. Thepath P may, in general, comprise any shaped curve or series of curves (acurve here including a straight line.)

A significant feature of the illustrated robotic device 1 is that, incontrast to many known robotic devices, the motors 6 and 7 are notcarried on the robot arm 2, but are secured to the frame 10 of thedevice 1. This means that the robot arm 2 may have very low mass,resulting in very high performance in terms of speed and efficiency. Forexample, in situations where previous robotic devices have been able tooperate at a maximum speed of around 25 cycles per minute, we have foundthat a robotic device such as that illustrated may operate at up to 100cycles per minutes, representing greatly increased speed and efficiency.

It will be appreciated that a robotic device as illustrated may beconstructed simply and economically.

Tracks such as 3 and 4 may alternatively be disposed at a differentangle to one another, and need not be rectilinear. For example, onecould be rectilinear and the other curved. The tracks and robot arm neednot be in the same plane. However, such alternative configurations mayentail less simple programming of a controller such as 11.

The motors 6 and 7 as illustrated may typically be rotary drive motors.Alternatively, linear motors or any other prime movers with suitabledrive transmissions may be employed. A single prime mover may drive bothsupports A and C by way of suitable drive transmissions.

In a preferred arrangement, the X,Y (or r,theta) path of motion Pcomprises a curve that is continuous in both its first and secondderivatives. If required, third (or higher) order derivative continuitycan also be specified.

The path can be made up of more than one section or segment and can bereferred to as ‘piecewise continuous’ along its length. The order ofderivative to meet a continuous curve may be specified between eachsection or segment.

Also, motion (time-distance) is preferably specified along the path P asa first and/or second derivative (velocity and acceleration) continuouscurve. If required, third derivative (jerk) (or higher) continuity canalso be specified. Start, end and maximum values of all derivatives canalso be specified. By specifying the motion along the path P as apolynomial function with the above attributes, one can ensure that themotion is very smooth and has zero acceleration as well as zero velocityat both ends of the movement.

A particularly advantageous way of designing the desired path P is byway of a NURB (non-uniform rational B-spline) curve. A NURB curve hasthe desirable properties of continuity in both its first and secondderivatives, and can easily be manipulated without involving a deepknowledge or use of mathematics. It may provide an efficient andflexible technique that ensures the desired order of derivative to meeta continuous curve while allowing the curve to be shaped geometrically.

Splines have been used for many years—shipbuilders, for example, woulduse a long flexible strip of material (e.g. wood)—a spline—that could bepulled into a desired shape by the application of weights at chosenpoints. Due to the flexible properties of the material, smooth curveswould naturally result.

An analogous method of control or operation may be provided graphicallyby displaying a line, or spline, on a computer screen, and pulling itinto a desired shape by means of control points that affect thecurvature of the line, the behaviour of the line being defined by a NURBalgorithm. For example, in FIG. 2, the path P shown on a screen 50 ofcomputer 52 has end points 21 and 25, and three intermediate points 22,23 and 24 through which the path P must pass. Control points 31 to 36act on the line 15 of the path P to pull it into the desired shape.Since the line 15 is defined (programmed) to have the properties of aNURB, it responds to movements of the control points 31 to 36 to behaveaccordingly with, for example, continuity in both its first and secondderivatives, as mentioned above.

The control points 31 to 36 may conveniently be moved on-screen by a“click-and-drag” movement of mouse 51, until the path P passes throughall of the desired points 21 to 25. The control points 31 to 36 may bemoved in alternative ways. An operator may have the facility to add andsubtract control points as desired, and/or the option to modify the“weighting” of individual control points or all of the controlpoints—that is, the degree of effect that movement of one or morecontrol point will have on the shape of the line 15. Computer 52provides display means for displaying a curve on screen 50 and modifyingmeans for modifying the shape of the curve, mouse 51 providing inputmeans to computer 52.

FIG. 2 also shows two obstacles 41 and 42 that the path P has to avoid.The control points 31 to 36 are adjusted to ensure that the obstaclesare indeed avoided.

Thus, an operator can readily design a new path P, with little or nocomputer programming requirement. A floor plan (or vertical plan), say,is displayed on the computer screen 50 by a CAD (Computer Aided Design)program, and the line 15 with control points 31 to 36 (or as desired) issuperimposed on the floor plan. The control points 31 to 36 are thenmanipulated to shape the line 15 to adopt a desired shape of curve,between defined end points, passing through defined intermediate points,and/or avoiding defined obstacles.

As an alternative to manipulating the control points 31 to 36, anoperator can specify the end and intermediate points 21 to 25, togetherwith any obstacles such as 41 and 42, and the NURB curve shape of theline 15 may be interpolated from those given points, using a NURBalgorithm.

Although above examples of embodiments of the invention are given in twodimensions, it may be appreciated that the principles may readily beadapted to three dimensions. For example, the FIG. 1 embodiment may beadapted by adding tracks orthogonal to those shown.

Although the curve shape of the line 15 may be conveniently described inNURB form, which provides a very compact mathematical way of describingthe curve shape, it may alternatively be described using otherpolynomial forms.

The operator can also define points of zero velocity and dwell time atany end or intermediate points, from which a polynomial function ofmotion may be derived with minimum transit time (maximum averagevelocity), but with the desirable attributes of continuous curves in itsfirst and second (and optionally third) derivates.

The advantage of using such a technique is that the motion can be bothvery smooth and very fast between two points (start and end). It is alsoself-optimising in between the end points, using NURB control pointssimply to guide the path over any obstacle that lies between.

Thus, a user may specify the shape of the path P in two or threedimensions using either geometric ‘control points’ that allow the userto interactively visually shape the curve while maintaining thecontinuity described above, or for the curve to interpolate a set ofuser defined 2D or 3D points.

Using a graphical display, it is easy for the operator to define amotion that avoids obstacles. The motion may be both fast and smoothwithout the operator having to specify how this is done.

In this specification, the verb “comprise” has its normal dictionarymeaning, to denote non-exclusive inclusion. That is, use of the word“comprise” (or any of its derivatives) to include one feature or more,does not exclude the possibility of also including further features.

1. A robotic device comprising: a. a first track extending between firstand second end points; b. a second track, non-parallel to the firsttrack, extending between third and fourth end points; c. a first supportmounted for movement along said first track between said first andsecond end points; d. a second support mounted for movement along saidsecond track between said third and fourth end points; e. drive meansfor driving said first and second supports along their respective tracksbetween their respective end points such that each of said supportsmoves independently of the movement of the other; and f. a robot armmounted on said first support at a first location on said arm, andmounted on said second support at a second location on said arm, spacedfrom said first location; g. wherein, said robot arm is mounted on saidfirst support by a first pivot point, such that said arm pivots withrespect to said first support; and h. wherein, said robot arm is mountedon said second support by a second pivot point and a linear slider, suchthat said arm both pivots with respect to said second support and slideslinearly with respect to said second support, longitudinally on saidarm.
 2. A robotic device according to claim 1, wherein said tracks liein a common plane, and said arm is arranged to move in said common planeor a plane parallel to said common plane.
 3. A robotic device accordingto claim 1, wherein at least one of said tracks is rectilinear.
 4. Arobotic device according to claim 3, wherein both of said tracks arerectilinear.
 5. A robotic device according to claim 4, wherein saidtracks are mutually orthogonal.
 6. A robotic device according to claim1, wherein said drive means comprises a first drive means for drivingsaid first support and a second drive means, separate from the firstdrive means, for driving said second support.
 7. A robotic deviceaccording to claim 1, wherein each said drive means comprises a primemover mounted on a frame of the device and connected to each respectivesupport by a drive transmission means.
 8. A robotic device according toclaim 1, wherein the robot arm is rectilinear.
 9. A robotic deviceaccording to claim 1, wherein said first location is at a first end ofthe robot arm and said second location is intermediate the ends of therobot arm.
 10. A robotic device according to claim 9, wherein said armcan slide with respect to only the second of said first and secondsupports.
 11. A robotic device according to claim 1, further comprisinggripping means at a third location on said robot arm.
 12. A roboticdevice according to claim 11, wherein said third location is at a freeend of the robot arm.
 13. A robotic device according to claim 1, furthercomprising control means for controlling said drive means.
 14. A roboticdevice according to claim 13, wherein said control means isprogrammable, to control said drive means to cause said robot arm tofollow a predetermined path.
 15. A robotic device according to claim 14,wherein said control means is programmed to control said drive means tocause said robot arm to follow a predetermined path composed of a seriesof straight lines.
 16. A robotic device according to claim 14, whereinsaid control means is programmed to control said drive means to causesaid robot arm to follow a predetermined path composed of a series ofstraight lines and circular arcs.
 17. A robotic device according toclaim 14, wherein said control means is programmed to control said drivemeans to cause said robot arm to follow a predetermined path comprisinga curve defined by a function of spatial co-ordinates that is continuousin both its first and second derivatives.
 18. A robotic device accordingto claim 17, wherein said function is continuous in its thirdderivative.
 19. A robotic device according to claim 17, wherein saidcurve comprises a non-uniform rational B-spline (NURB) curve.
 20. Arobotic device according to claim 14, wherein said control means isarranged to control said drive means such that the time-distancefunction of motion along said path comprises a polynomial functionhaving a first derivative continuous velocity curve.
 21. A roboticdevice according to claim 14, wherein said control means is arranged tocontrol said drive means such that the time-distance function of motionalong said path comprises a polynomial function having a secondderivative continuous acceleration curve.
 22. A robotic device accordingto claim 14, wherein said control means is arranged to control saiddrive means such that the time-distance function of motion along saidpath comprises a polynomial function having a third derivativecontinuous jerk curve.
 23. A robotic device according to claim 14,further comprising display means for displaying a curve on a screen andmodifying means for modifying the shape of the curve to define saidpath.
 24. A robotic device according to claim 23, further comprisingplan display means for displaying on the screen a plan of an area orvolume in which said path is to be located, and upon which plan saidpath is superimposed.
 25. A robotic device according to claim 23,wherein said modifying means comprises input means for moving with aclick-and-drag mouse movement control points that are spaced from saidcurve and the positions of which affect the shape of said curve.
 26. Arobotic device according to claim 14, wherein said control meanscomprises input means for inputting co-ordinates of predetermined pointson said path and interpolating means for interpolating said curve fromsaid points.